/**
 * @param {number[]} barcodes
 * @return {number[]}
 */
var rearrangeBarcodes = function (barcodes) {
  // barcodes.sort((a, b) => a - b)
  for (let i = 0; i < barcodes.length; i++) {
    let j = i
    while (barcodes[j] == barcodes[i - 1]) {
      j++
    }
    if (j != i)
      [barcodes[i], barcodes[j % barcodes.length]] = [barcodes[j % barcodes.length], barcodes[i]]
  }

  return barcodes
};

rearrangeBarcodes([1, 1, 1, 2, 2, 2])